
import com.acme.bean.Estado;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import java.util.logging.Logger;

/**
 *
 * @author Profesor
 */
public class Consultas {

    static String driver = "com.mysql.jdbc.Driver";
    // Servidor de BD : localhost
    // Puerto de MySQL: 3306
    // BD (Esquema)   : ventas
    static String url = "jdbc:mysql://localhost:3306/ventas";
    static String sql = "";
    static String usuario = "root";
    static String clave = "mysql";

    public static void main(String[] args) {
        sql = "SELECT est_id, est_nombre, est_estado "
                + "FROM Estado "
                + "WHERE est_estado = 1";
        // Conexion a la BD
        //1. Objeto conexion
        Connection conn = null;
        try {
            // 1.1 Registrando el driver
            Class.forName(driver);
            // 1.2 Conectandose a la BD
            conn = DriverManager.getConnection(url,
                    usuario, clave);
            /*
            // 2. Crear una sentencia SQL
            Statement st = conn.createStatement();
            // 3. Crear un resultSet para ejecutar la 
            //sentencia y recepcionar los datos
            ResultSet rs = st.executeQuery(sql);
            while (rs.next()) {
                String linea = "" + rs.getInt(1) + " "
                        + rs.getString(2) + " "
                        + rs.getInt(3);
                System.out.println(linea);
            }
            */
            //consulta01(conn);
            //consulta02(conn);
            consulta03(conn);
            //consulta04(conn);
            //consulta05(conn);
        } catch (SQLException e) {
            System.out.println("Falló la conexion "
                    + e.getMessage());
        } catch (ClassNotFoundException ex) {
            System.out.println("Falló registro del Driver "
                    + ex.getMessage());
        } finally {
            try {
                // Cerrar la conexion en los finallys
                conn.close();
            } catch (SQLException ex) {
                System.out.println("No se pudo cerrar "
                        + "la conexion");
            }
        }
    }

    public static void consulta01(Connection conn) 
            throws SQLException {
        // A. Crear una sentencia SQL
        Statement st = conn.createStatement();
        // B. Crear un ResultSet para ejecutar la 
        //sentencia y recepcionar los datos
        ResultSet rs = st.executeQuery(sql);
        while (rs.next()) {
            String linea = "" + rs.getInt(1) + " "
                    + rs.getString(2) + " "
                    + rs.getInt(3);
            System.out.println(linea);
        }
    }

    private static void consulta02(Connection conn) 
            throws SQLException {
        // A. Crear una sentencia SQL
        Statement st = conn.createStatement();
        // B. Crear un ResultSet para ejecutar la 
        //sentencia y recepcionar los datos
        ResultSet rs = st.executeQuery(sql);
        while (rs.next()) {
            int id = rs.getInt(1);
            String nombre = rs.getString(2);
            int estado = rs.getInt(3);
            Estado bean = new Estado(id, nombre, estado);
            System.out.println(bean);
        }
    }
    
   private static void consulta03(Connection conn) 
            throws SQLException {
        // A. Crear una sentencia SQL
        Statement st = conn.createStatement();
        // B. Crear un ResultSet para ejecutar la 
        //sentencia y recepcionar los datos
        ResultSet rs = st.executeQuery(sql);
        while (rs.next()) {
            int id = rs.getInt(1);
            String nombre = rs.getString(2);
            int estado = rs.getInt(3);
            Estado bean = new Estado(id, nombre, estado);
            String sEstado=(estado==1)?"Activo":"Inactivo";
            String linea="" + bean.getEst_id() + " " + bean.getEst_nombre() + " " +sEstado;
            System.out.println(linea);
        }
    }
}
